1. Field of the Invention
This invention relates to graphics systems and, more particularly, to graphics systems capable of supporting multiple display streams or channels.
2. Description of the Related Art
A computer system typically relies upon its graphics system for producing visual output on the computer screen or display device. Early graphics systems were only responsible for taking what the processor produced as output and displaying it on the screen. In essence, they acted as simple translators or interfaces. Modern graphics systems, however, incorporate graphics processors with a great deal of processing power. They now act more like coprocessors rather than simple translators. This change is due to the recent increase in both the complexity and amount of data being sent to the display device. For example, modern computer displays have many more pixels, greater color depth, and are able to display more complex images with higher refresh rates than earlier models. Similarly, the images displayed are now more complex and may involve advanced techniques such as anti-aliasing and texture mapping.
As a result, without considerable processing power in the graphics system, the CPU would spend a great deal of time performing graphics calculations. This could rob the computer system of the processing power needed for performing other tasks associated with program execution and thereby dramatically reduce overall system performance. With a powerful graphics system, however, when the CPU is instructed to draw a box on the screen, the CPU is freed from having to compute the position and color of each pixel. Instead, the CPU may send a request to the video card stating, xe2x80x9cdraw a box at these coordinates.xe2x80x9d The graphics system then draws the box, freeing the processor to perform other tasks.
Generally, a graphics system in a computer is a type of video adapter that contains its own processor to boost performance levels. These processors are specialized for computing graphical transformations, so they tend to achieve better results than the general-purpose CPU used by the computer system. In addition, they free up the computer""s CPU to execute other commands while the graphics system is handling graphics computations. The popularity of graphics applications, and especially multimedia applications, has made high performance graphics systems a common feature in many new computer systems. Most computer manufacturers now bundle a high performance graphics system with their computing systems.
In many applications, it may be useful to have two monitors or displays connected to the same computer system. For example, in some graphical editing applications, it is desirable to use one monitor to show a close-up of an area being edited, while another monitor shows a wider field of view of the object or picture being edited. Alternatively, some users may configure one monitor to display the object being edited and the other monitor to display various palettes or editing options that can be used while editing. Another situation where multiple displays are useful occurs when several users are connected to a single computer. In such a situation, it may be desirable for each user to have their own display. In another situation, it may simply be desirable to have multiple displays that each display a different portion of an image in order to provide a larger display than would otherwise be possible. Another example is stereo goggles, which present different images to their wearer""s left and right eyes in order to create a stereo viewing effect. These examples illustrate just a few of the many situations where it is useful to have multiple displays connected to the same computer system.
The increasing complexity of modern graphics systems places a burden on systems, personnel, and other resources involved with the testing of graphics systems and components. Additionally, graphics systems designed to support multiple streams of video with shared resources may make the task of system test unwieldy. Therefore, it may be desirable to provide these modern graphics systems with an integrated system of error checking and fault analysis.
The problems set forth above may at least in part be solved in some embodiments by a system or method for performing signature analysis on internal data and control signals of a graphics system. In one embodiment, the system may employ a network of one or more signature analysis registers (SARs). The SARs may be located at specified junctures in the signal processing paths of the graphics system, and may be configured to capture internal system information and data. The captured data may be accumulated over a specified time period, or in some embodiments, the accumulation may commence and end in response to internal synchronization signals. In some embodiments, the SARs may be implemented as linear hybrid cellular automatons. In some embodiments, data moving through the processing sub-systems of the graphics system may have embedded tags indicating the display channel to which it belongs. In these cases, the tags may be utilized by the SARs to capture and accumulate data associated with a single channel. The signatures developed in the SARs may be pre-seeded with initial values, and may be compared against known good or expected outcomes.
As noted above, a method for performing signature analysis on internal data and control signals of a graphics system is also contemplated. In one embodiment, the method includes requesting the signature capture of data and control signals over a specified test period. The test period may be specified as a number of video frames. Next, captured data may be combined in an accumulative manner to form a signature representative of the data examined over the test period. The accumulated signature may be compared with a control signature in response to the termination of the specified test duration. Differences between the accumulated signature and the control signature may indicate a hardware test failure.